.TH std::basic_string_view::remove_prefix 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::basic_string_view::remove_prefix \- std::basic_string_view::remove_prefix

.SH Synopsis
   constexpr void remove_prefix( size_type n );  \fI(since C++17)\fP

   Moves the start of the view forward by n characters.

   The behavior is undefined if n > size().

.SH Parameters

   n - number of characters to remove from the start of the view

.SH Return value

   \fI(none)\fP

.SH Complexity

   Constant.

.SH Example


// Run this code

 #include <algorithm>
 #include <iostream>
 #include <string_view>

 using namespace std::literals;

 [[nodiscard("a pure function")]]
 constexpr std::size_t count_substrings(std::string_view hive, std::string_view const bee)
 {
     if (hive.empty() || bee.empty())
         return 0U;

     std::size_t buzz{};
     while (bee.size() <= hive.size())
     {
         const auto pos = hive.find(bee);
         if (pos == hive.npos)
             break;
         ++buzz;
         hive.remove_prefix(pos + bee.size());
     }
     return buzz;
 }

 int main()
 {
     std::string str = "   trim me";
     std::string_view v = str;
     v.remove_prefix(std::min(v.find_first_not_of(" "), v.size()));
     std::cout << "String: '" << str << "'\\n"
               << "View  : '" << v << "'\\n";

     constexpr auto hive{"bee buzz bee buzz bee"};
     std::cout << "There are " << count_substrings(hive, "bee") << " bees in this hive.\\n";
 }

.SH Output:

 String: '   trim me'
 View  : 'trim me'
 There are 3 bees in this hive.

.SH See also

   remove_suffix shrinks the view by moving its end backward
                 \fI(public member function)\fP
